// 引入 Mock
import Mock from 'mockjs'

// 定义数据类型
let { data } = Mock.mock({
  // 20条数据
  'data|150': [
    {
      // 产品标号
      'bianhao|+1': '122231',
      // 商品种类
      'goodsClass|1': ['干货区', '三号仓库', '一号仓库', '二号仓库'],
      // 商品分类
      'fenlei|1': ['商品类', '酒类', '零食类', '日用品类', '设备'],
      'chaocai|1': ['玉带虾仁', '油发豆莛', '红扒鱼翅', '白扒通天翅', '孔府一品锅', '花揽桂鱼', '纸包鸡', '焖大虾', '锅烧鸡', '山东菜丸'],
      'zhaopai|1': ['玉带虾仁', '咸菜焖猪肉', '红扒鱼翅', '白扒通天翅', '客家盐焗鸡', '花揽桂鱼', '纸包鸡', '焖大虾', '锅烧鸡', '广式烧填鸭'],
      'duntang|1': ['浙菜西湖莼菜汤', '湘菜组庵鱼翅', '徽菜中和汤', '鱼汤', '家常鱼汤', '红鱼汤', '红菜汤', '蔬菜汤'],
      // 盘点人
      person: '黄惠庆',
      // 时间
      'time|1609459200000-1666140919217': 1609459200000,
      // 商品Id
      'goodsId|+1': 1,
      //姓名
      name: '@cname(3)',
      'sp|1': ['红乌苏', '红乌苏1', '红乌苏3', '红乌苏2'],
      // 单位
      'dw|1': ['箱', '瓶', '盒'],
      // 数量
      'num|1': ['50', '20', '30', '10', '100'],
      // 库存数量
      kn: '999+',

      li: '0',
      //商品售价
      // 'goodsSale|30-500': 30,
    },
  ],
})

Mock.mock('/api/data1', 'post', (option) => {
  console.log(option)

  return {
    result: data,
    status: 0,
    total: data.length,
  }
})

Mock.mock('/api/data', 'post', (option) => {
  // console.log(option)
  const { currentPage, pageSize, value } = JSON.parse(option.body)
  // value搜索框内容，有或者没有，所以判断
  let result = []
  if (value) {
    result = data.filter((item) => item.goodsClass === value || item.fenLei === value)
  } else {
    // console.log(currentPage, pageSize)
    //截取的数据
    result = data.slice((currentPage - 1) * pageSize, currentPage * pageSize)
  }

  return {
    result: result,
    status: 0,
    total: data.length,
  }
})
// 删除
Mock.mock('/api/remove1', 'post', (option) => {
  const { id } = JSON.parse(option.body)

  console.log(id)

  //截取的数据
  data = data.filter((item) => item.goodsId !== id)

  console.log(data)

  return {
    status: 0,
    msg: '删除成功',
  }
})

//编辑接口
Mock.mock('api/edit1', 'post', (option) => {
  const { state } = JSON.parse(option.body)
  // console.log(option)
  // console.log(state)
  if (state) {
    data.forEach((item) => {
      if (item.goodsId == state.goodsId) {
        console.log(item)

        Object.assign(item, state)
        console.log(item)
      }
    })
  }
  return {
    status: 0,
    msg: '编辑成功',
  }
})

// 增加

Mock.mock('api/add1', 'post', (option) => {
  const { add1 } = JSON.parse(option.body)
  data = [...data, { ...add1, goodsId: data.length + 1 }]
  console.log(data)
  return {
    status: 0,
    msg: '新增成功',
  }
})
export default Mock
